Digital video capabilities can be incorporated into a wide range of devices, including digital televisions, digital direct broadcast systems, wireless communication devices, personal digital assistants (PDAs), laptop computers, desktop computers, digital cameras, digital recording devices, cellular or satellite radio telephones, direct two-way communication devices (sometimes referred to as “walkie-talkies”), and the like. Digital video devices can provide significant improvements over conventional analog video systems in creating, modifying, transmitting, storing, recording and playing full motion video sequences.
A number of different video coding standards have been established for coding digital video sequences. The Moving Picture Experts Group (MPEG), for example, has developed a number of standards including MPEG-1, MPEG-2 and MPEG-4. Other standards include the International Telecommunications Union (ITU) H.263 standards, QuickTime™ technology developed by Apple Computer of Cupertino Calif., Video for Windows™ developed by Microsoft Corporation of Redmond, Wash., Indeo™ developed by Intel Corporation, RealVideo™ from RealNetworks, Inc. of Seattle, Wash., and Cinepak™ developed by SuperMac, Inc. Furthermore, new standards continue to emerge and evolve, including the ITU H.264 standards and a number of proprietary standards.
Many video coding standards allow for improved transmission rates of video sequences by coding data in a compressed fashion. Compression can reduce the overall amount of data that needs to be transmitted for effective transmission of video frames. Most video coding standards, for example, utilize graphics and video compression techniques designed to facilitate video and image transmission over a narrower bandwidth than can be achieved without compression. Many of the MPEG standards and the ITU H.263 and ITU H.264 standards, for example, support video coding techniques that utilize similarities between successive video frames, referred to as temporal or inter-frame correlation, to provide inter-frame compression. Such inter-frame compression is typically achieved via motion estimation and motion compensation coding techniques. In addition, some video coding techniques utilize similarities within frames, referred to as spatial or intra-frame correlation, to compress the video frames. Intra-frame compression is typically achieved via spatial estimation and intra-prediction coding techniques.
The use of discrete video blocks in inter-frame and/or intra-frame compression can cause artifacts in the video sequence between adjacent video blocks. In particular, when a video frame is divided into video blocks for video coding, the edge of one coded video block may appear discontinuous with the adjacent edge of another coded video block. When this occurs, the decoded video frame may appear “blocky,” which is highly undesirable. Transforms and quantization of video blocks can compound this undesirable blockiness effect in coded video frames.
In order to remove such “blockiness,” filtering can be performed on the block boundaries of the video blocks to “smooth” the transitions between adjacent video blocks. Deblocking filters generally refer to filters that are used to smooth the transitions between adjacent video blocks to reduce or eliminate blockiness artifacts. The ITU-T H.264 standard, for example, requires a deblocking filter as part of the in-loop coding. In this case, when filtering is part of the in-loop video coding, the previously coded frames used in motion estimation and motion compensation are filtered versions of such frames. For other standards that do not mandate a deblocking filter as part of the coding loop, post deblock filtering may still improve the quality of the video coding by removing blockiness artifacts after the coding is performed.